其實,選擇套件並不是一件困難的事,無非就是根據需求、經費等因素考量後,按圖索驥選出適合團隊的工具而已。以下將簡單列舉挑選特定套件的原因,讀者可以根據團隊需求自由更換其他套件,若想知道更多套件的介紹與挑選原因,不妨關注 MLOps 系列文 ,後續將針對套件進行詳細介紹。
首先,我們選擇以工程師常用的 Git,做為版本控制方面(如圖一)的套件,並將程式碼上傳到 GitHub 或 GitLab 平台管理;而資料版本控制的套件則選擇使用 DVC ,主要原因是該套件與 Git 操作方式很像,可以快速與 Git 整合使用。
在模型實驗紀錄與比較方面的套件則使用 MLflow,選擇它的原因是該套件除了具實驗紀錄、比較的功能,還可以透過紀錄實驗執行環境,幫助開發團隊準確重現模型實驗,甚至將模型快速部署上線成推論用 API,當然模型部署上線也會與其他 API 串連,且這些 API 可以用 Flask、 FastAPI等套件建置。
模型訓練自動化排程部分的套件則選擇 Prefect ,它在排程使用的設計很簡潔,只需將資料處理、模型建立等不同任務的 Python 程式碼包裝成函式,並加入 Python Decorator 就可以設定好排程任務,讓開發團隊可以快速地將排程設定導入原有的模型實驗程式碼中。
根據團隊需求選擇完套件後,接下來就是最後的重頭戲 — 如何將這些套件整合成一個實用的 MLOps 系統。以下將根據使用時的情境,將套件與功能像拼圖一樣,一片一片的拼湊起來,最終設計出專屬且實用的 MLOps 系統。
完整內容 >> https://bit.ly/47t2YVf
Line 官方帳號,看最新技術文章:https://user137910.pse.is/aif2024ironman
撰稿工程師:許睦辰